package com.chenyi.user.service.impl;

import java.util.List;

import com.chenyi.common.constant.Constants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.chenyi.user.mapper.SysUserLoginMapper;
import com.chenyi.user.domain.SysUserLogin;
import com.chenyi.user.service.ISysUserLoginService;

/**
 * 用户登录信息Service业务层处理
 * 
 * @author chenyi
 * @date 2020-10-10
 */
@Service
public class SysUserLoginServiceImpl implements ISysUserLoginService 
{
    @Autowired
    private SysUserLoginMapper sysUserLoginMapper;

    /**
     * 查询用户登录信息
     * 
     * @param infoId 用户登录信息ID
     * @return 用户登录信息
     */
    @Override
    public SysUserLogin selectSysUserLoginById(Long infoId)
    {
        return sysUserLoginMapper.selectSysUserLoginById(infoId);
    }

    /**
     * 查询用户登录信息列表
     * 
     * @param sysUserLogin 用户登录信息
     * @return 用户登录信息
     */
    @Override
    public List<SysUserLogin> selectSysUserLoginList(SysUserLogin sysUserLogin)
    {
        return sysUserLoginMapper.selectSysUserLoginList(sysUserLogin);
    }

    /**
     * 新增用户登录信息
     * 
     * @param sysUserLogin 用户登录信息
     * @return 结果
     */
    @Override
    public int insertSysUserLogin(SysUserLogin sysUserLogin)
    {
        return sysUserLoginMapper.insertSysUserLogin(sysUserLogin);
    }

    /**
     * 修改用户登录信息
     * 
     * @param sysUserLogin 用户登录信息
     * @return 结果
     */
    @Override
    public int updateSysUserLogin(SysUserLogin sysUserLogin)
    {
        return sysUserLoginMapper.updateSysUserLogin(sysUserLogin);
    }

    /**
     * 批量删除用户登录信息
     * 
     * @param infoIds 需要删除的用户登录信息ID
     * @return 结果
     */
    @Override
    public int deleteSysUserLoginByIds(Long[] infoIds)
    {
        return sysUserLoginMapper.deleteSysUserLoginByIds(infoIds);
    }

    /**
     * 删除用户登录信息信息
     * 
     * @param infoId 用户登录信息ID
     * @return 结果
     */
    @Override
    public int deleteSysUserLoginById(Long infoId)
    {
        return sysUserLoginMapper.deleteSysUserLoginById(infoId);
    }

    @Override
    public SysUserLogin selectSysUserLoginByToken(String token,String status) {
        // 日志状态
        if (Constants.LOGIN_SUCCESS.equals(status) || Constants.LOGOUT.equals(status))
        {
            status = Constants.SUCCESS;
        }
        else if (Constants.LOGIN_FAIL.equals(status))
        {
            status = Constants.FAIL;
        }
        return sysUserLoginMapper.selectSysUserLoginByToken(token,status);
    }
}
